Queens Park Rangers had James Perch sent off as they lost 2-1 at home to relegation-threatened Wolverhampton Wanderers in the Championship.